home *** CD-ROM | disk | FTP | other *** search
/ TeX 1995 July / TeX CD-ROM July 1995 (Disc 1)(Walnut Creek)(1995).ISO / macros / texinfo / info / display.h < prev    next >
C/C++ Source or Header  |  1994-01-28  |  3KB  |  77 lines

  1. /* display.h -- How the display in Info is done. */
  2.  
  3. /* This file is part of GNU Info, a program for reading online documentation
  4.    stored in Info format.
  5.  
  6.    Copyright (C) 1993 Free Software Foundation, Inc.
  7.  
  8.    This program is free software; you can redistribute it and/or modify
  9.    it under the terms of the GNU General Public License as published by
  10.    the Free Software Foundation; either version 2, or (at your option)
  11.    any later version.
  12.  
  13.    This program is distributed in the hope that it will be useful,
  14.    but WITHOUT ANY WARRANTY; without even the implied warranty of
  15.    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  16.    GNU General Public License for more details.
  17.  
  18.    You should have received a copy of the GNU General Public License
  19.    along with this program; if not, write to the Free Software
  20.    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  21.  
  22.    Written by Brian Fox (bfox@ai.mit.edu). */
  23.  
  24. #if !defined (_DISPLAY_H_)
  25. #define _DISPLAY_H_
  26.  
  27. #include "info-utils.h"
  28. #include "terminal.h"
  29.  
  30. typedef struct {
  31.   char *text;            /* Text of the line as it appears. */
  32.   int textlen;            /* Printable Length of TEXT. */
  33.   int inverse;            /* Non-zero means this line is inverse. */
  34. } DISPLAY_LINE;
  35.  
  36. /* An array of display lines which tell us what is currently visible on
  37.    the display.  */
  38. extern DISPLAY_LINE **the_display;
  39.  
  40. /* Non-zero means do no output. */
  41. extern int display_inhibited;
  42.  
  43. /* Non-zero if we didn't completely redisplay a window. */
  44. extern int display_was_interrupted_p;
  45.  
  46. /* Initialize THE_DISPLAY to WIDTH and HEIGHT, with nothing in it. */
  47. extern void display_initialize_display ();
  48.  
  49. /* Clear all of the lines in DISPLAY making the screen blank. */
  50. extern void display_clear_display ();
  51.  
  52. /* Update the windows pointed to by WINDOWS in THE_DISPLAY.  This actually
  53.    writes the text on the screen. */
  54. extern void display_update_display ();
  55.  
  56. /* Display WIN on THE_DISPLAY.  Unlike display_update_display (), this
  57.    function only does one window. */
  58. extern void display_update_one_window ();
  59.  
  60. /* Move the screen cursor to directly over the current character in WINDOW. */
  61. extern void display_cursor_at_point ();
  62.  
  63. /* Scroll the region of the_display starting at START, ending at END, and
  64.    moving the lines AMOUNT lines.  If AMOUNT is less than zero, the lines
  65.    are moved up in the screen, otherwise down.  Actually, it is possible
  66.    for no scrolling to take place in the case that the terminal doesn't
  67.    support it.  This doesn't matter to us. */
  68. extern void display_scroll_display ();
  69.  
  70. /* Try to scroll lines in WINDOW.  OLD_PAGETOP is the pagetop of WINDOW before
  71.    having had its line starts recalculated.  OLD_STARTS is the list of line
  72.    starts that used to appear in this window.  OLD_COUNT is the number of lines
  73.    that appear in the OLD_STARTS array. */
  74. extern void display_scroll_line_starts ();
  75.  
  76. #endif /* !_DISPLAY_H_ */
  77.